<style type="text/css">
	.goods-add .list-block .item-title.label,.goods-add .list-block input[type=tel], .goods-add .list-block .item-inner{font-size: .75rem;}
	.post-voice{display:block;width:2rem;height:2rem;position:absolute;bottom:0.5rem;right:0;background-size:cover!important;margin-right: 10px;}
	.post-voice.start{background:url("/static/app/img/icon-voicer.png") no-repeat;}
	.post-voice.stop{background:url("/static/app/img/icon-stop.png") no-repeat;}
</style>
<script type='text/javascript' src="/static/app/js/recorder.mp3.min.js"></script>
<script type="text/javascript">
		
	
	$("#post-voice").click(function(){
		dataid = $(this).attr("data-id");
		if(dataid == 0){
		    rec_start();
		    $(this).attr("data-id",1);
		    $(this).removeClass("start");
		    $(this).addClass("stop");
		}else{
			rec_stop();
		    $(this).attr("data-id",0);
		    $(this).removeClass("stop");
		    $(this).addClass("start");
		}
	});



	var rec=Recorder();
	
	var recblob={};
	function rec_start(){
		// var dialog=createDelayDialog();
		rec.open(function(){
			// dialog&&dialog.Cancel();
			rec.start();
		});
	};
	function rec_stop(){
		var t1=Date.now();
        rec.stop(function(blob,duration){//到达指定条件停止录音
        	var id=RandomKey(16);
			recblob[id]={blob:blob,set:$.extend({},rec.set),time:duration};

			//-----↓↓↓以下才是主要代码↓↓↓-------
			var reader=new FileReader();
			reader.onloadend=function(){
				var upfile_b64 = (/.+;\s*base64\s*,\s*(.+)$/i.exec(reader.result)||[])[1];
				$.post('/<{$module}>/api/mp3upload', { mime:blob.type,base64: upfile_b64 }, function(data){ 
			    	if(data != 'error'){
			    		// $('#talk_btn').hide();
		    			txt = "<input type='hidden' name='data[voice]' value='"+ data +"'>";
		    			$("#upload-list").append(txt);
				   }else{
				  	 error("上传失败");
				   }
			    });
			};
			reader.readAsDataURL(blob);

			//-----↑↑↑以上才是主要代码↑↑↑-------
            // console.log(URL.createObjectURL(blob),"时长:"+duration+"ms");
            rec.close();//释放录音资源
            //已经拿到blob文件对象想干嘛就干嘛：立即播放、上传
            

            rec_play(id);
            // /*立即播放例子*/
            // var audio=document.createElement("audio");
            // audio.controls=true;
            // document.body.appendChild(audio);
            // //简单的一哔
            // audio.src=URL.createObjectURL(blob);
            // audio.play();
            
        },function(msg){
            console.log("录音失败:"+msg);
        });
	};

	function rec_play(key){
		var o=recblob[key];
		if(o){
			var audio=$(".recPlay")[0];
			audio.controls=true;
			if(!(audio.ended || audio.paused)){
				audio.pause();
			};
			o.play=(o.play||0)+1;
			var end=function(blob){
				audio.src=URL.createObjectURL(blob);
				audio.play();
			};
			end(o.blob);
		};
	};

	// function createDelayDialog(){
	// 	var	is_mobile = <{isMobile}>;
	//     if(is_mobile){//只针对移动端
	//         return new Alert Dialog Component
	//             .Message("录音功能需要麦克风权限，请允许；如果未看到任何请求，请点击忽略~")
	//             .Button("忽略")
	//             .OnClick(function(){//明确是用户点击的按钮，此时代表浏览器没有发起任何权限请求
	//                 //此处执行fail逻辑
	//                 console.log("无法录音：权限请求被忽略");
	//             })
	//             .OnCancel(NOOP)//自动取消的对话框不需要任何处理
	//             .Delay(8000); //延迟8秒显示，这么久还没有操作基本可以判定浏览器有毛病
	//     };
	// };

	function RandomKey(){
		return "randomkey"+(RandomKey.idx++);
	};
	RandomKey.idx=0;

</script>